飓风再现,响尾蛇(SideWinder)攻击预警
一
背景概述
响尾蛇( SideWinder)是2018年才被披露的一支具有南亚背景的网络威胁组织。该组织长期针对巴基斯坦和中国等东南亚国家的政府,能源,军事,矿产等领域进行敏感信息窃取、远程控制等攻击活动。SideWinder的最早活动可追溯到2012年。从近几年该组织活动来看也会针对国内特定目标进行攻击,如驻华大使馆,特定部门等。
近日,安恒信息CERT捕获一批SideWinder APT组织样本,样本属于采用Delphi编写的Downloader,利用DotNetToJScript技术加载远程JS代码,最终以无文件落地方式在内存加载执行C#编写的shell工具。在本次捕获的大量攻击样本的基础上,通过新旧版本的样本分析我们推测SideWinder组织使用了某种私有的Downloader生成工具,仅需修改基本配置即可生成新的攻击样本,而并非在每次攻击前编写攻击组件。
二
攻击流程
本次攻击活动中第一阶段Delphi Downloader程序伪装成系统程序propsys.dll,第二阶段利用JavaScript组件加载执行远程js代码,js代码利用DotNetToJScript技术加载执行.NET程序,最终在受害者机器上开启监听端口,供远程攻击者访问与下发指令。
攻击流程
三
样本分析
样本首先通过与字符串进行异或运算解密配置信息。本次所捕获多个样本解密所使用密钥与配置信息不同。
代码片段
本次捕获样本密钥与配置信息如下:不难发现,该组织所使用密钥是样本配置URL的路径中的前5个字节(如,密钥:YCuLC,URL路径: YCuLC9zFBTBafsszDUhpxRMSu0UPzLzYPADkQUr),而本次捕获样本代码均相同,配置与密钥不同。因此我们推测,SideWinder组织所使用部分攻击组件由工具直接生成样本 | 密钥 | URL | 注册表 |
样本1 | YCuLC | https://dr-doom[.]xyz/YCuLC9zFBTBafsszDUhpxRMSu0UPzLzYPADkQUrI/6258/14535/5046357c/resources | Software\Staticfile |
样本2 | 8qDaG | https://verocal[.]info/8qDaGxP8slzSSzmMliNFKNfaaJnIpauAUMXQjKfm/55034/3583/312cb29a/resources | Software\Recovery |
样本3 | ncpwD | https://dolper[.]top/ncpwDab5IHOmJVVkc2yIqaUkLilSj9P1VDEpyKJx/196/97/d5a3d325/resources | Software\safedesks |
样本4 | hNR4d | https://mopiler[.]top/hNR4dmkLCVSBfVbWquju5vKbMhJzd7QXMykf43NF/5065/5738/e2f106b0/resources | Software\subsystem |
尝试读取前述配置信息中注册表项,并使用前述密钥完成异或解密。
代码片段
代码片段
代码片段
如果受害主机存在存在Avast防病毒软件,该病毒将会HOOK"NtCreateUserProcess"以及"NtWriteVirtualMemory"函数。
代码片段
枚举前述配置中的注册表键值,使用前述密钥异或解密。代码片段
利用Javascript com组件执行解密后的恶意js代码代码片段
通过bing.com、baidu.com、google.com测试网络连通性。
代码片段
随后将URL拼接"/true?x="字符串,使用GET方法发起http请求。通过判断http响应状态码来执行不同的操作:1、当状态码为505时,该样本重启当前进程;
2、当状态码为200时,将会执行远程js代码,并将URL中"true"更改为"mt10",发包至服务器;
3、当状态码不为200时,将URL中"true"更改为"false",发起请求,直到状态码为200。
代码片段
尝试从远程加载JavaScript代码,代码经过前述密钥加密,并且会从第13个字节开始解密(密文前四个字节确定了代码起始地址偏移(0x0ch==12,因此从第13个字节开始解密))。Python解密脚本如下:key =[56,113,68,97,71] #'8qDaG'
with open('resources','rb') as f:
data=f.read()
for i in range(0,26107):
tpkey = key[i%5]
print(chr(data[i]^ tpkey),end='')
密文js
JS代码如下:明文js
随后通过前述Javascript组件执行解密后的恶意js代码。Js代码使用DotNetToJScript技术加载执行C#代码的LiveConsoleModule.ConsoleService类Start函数。C#程序具备远程shell功能,运行时在本地监听12323端口,通过cmd执行远程命令。
代码片段
四
溯源关联
本次攻击活动中,攻击者与以往SideWinder组织所采用的技术,工具,域名等方面均高度相似:
1.URL:
a.本次攻击活动所使用URL的路径中的前5个字节是第一阶段样本密钥;
b.以往攻击活动中SideWinder组织长期采用此方法下发攻击,因此我们推测此类样本均由工具生成。
2.神秘的"frAQBc8W":
a.在SideWinder历史攻击活动中,多次发现,该组织总是会在URL中拼接上" frAQBc8W"字符串,该字符的含义我们无从得知。
3.shell工具:
a.本次攻击活动中使用的远程shell工具、端口:12323;
b.在历史攻击活动中该组织经常使用同款shell工具以及12323端口,并且在以往攻击活动中伴随shell工具同时下发一种代理隧道组件,利用websocket隧道实现内网穿透功能。
与以往攻击活动不同的是,本次攻击活动第一阶段的Delphi Downloader样本未使用credwiz.exe+duser.dll劫持的方式下发,而本次攻击活动似乎用于伪装成系统程序propsys.dll,下图左侧为本次所使用Downloader,右侧为系统程序propsys.dll。
值得一提的是,在以往攻击活动中,SideWinder曾将系统程序write.exe与propsys.dll(攻击组件)组合使用,攻击驻华大使馆。
五
总结
本次攻击活动与以往SideWinder攻击活动高度相似,与以往不同的是,本次攻击中第一阶段不再使用credwiz.exe+duser.dll劫持的方式,而劫持系统程序propsys.dll,并且根据该组织所使用部分攻击组件较为明显的特征(固定的URL格式及密钥,神秘的字符串"frAQBc8W"),我们推测该组织使用某种私有工具生成攻击组件。SideWinder组织长期使用DotNetToJScript技术内存加载执行.NET恶意程序,攻击链路具有一定隐蔽性,不可不防!
六
IOC
https://dr-doom[.]xyz/YCuLC9zFBTBafsszDUhpxRMSu0UPzLzYPADkQUrI/6258/14535/5046357c/resources |
https://verocal[.]info/8qDaGxP8slzSSzmMliNFKNfaaJnIpauAUMXQjKfm/55034/3583/312cb29a/resources |
https://dolper[.]top/ncpwDab5IHOmJVVkc2yIqaUkLilSj9P1VDEpyKJx/196/97/d5a3d325/resources |
https://mopiler[.]top/hNR4dmkLCVSBfVbWquju5vKbMhJzd7QXMykf43NF/5065/5738/e2f106b0/resources |
dll | B6BD100AA9FBAAA97E2DE671478F2979 |
dll | B7C9145629BC8FA8562A3ABF5D045444 |
dll | 201E586AF4A89E8606B69117FAE20FA2 |
dll | 26291FE5215547F4F4A3652ADF434BF9 |
.NET dll | 12A69185E72B8298AE1613E9DC5DC822 |
七
安恒信息CERT
安恒信息应急响应中心(CERT)是专注于对全网重要网络安全漏洞、安全事件等威胁情报进行实时主动发现、快速预警、联动响应的安全应急协调中心。中心成员由丰富攻防经验的资深安全技术专家组成,联动安恒威胁情报中心,共同针对最新威胁情报主动发现,重大安全漏洞、安全事件进行深度挖掘、分析、溯源,并结合自主研发的网络空间测绘系统-「全球网络空间超级雷达」梳理全网受影响程度。
安恒信息CERT
2022年9月